perm filename IMPDWN.MID[NET,MRC]2 blob sn#349571 filedate 1978-04-19 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	TITLE IMPDWN
C00004 ENDMK
C⊗;
TITLE IMPDWN
SUBTTL Program to bring down the NCP from user mode

IMPDWN:	JFCL
	RESET
	INIT
	 'IMP,,
	 0
	 JRST 4,.
	OUTSTR [ASCIZ/Reason:
 5 → Scheduled PM
 6 → Scheduled hardware work
 7 → Scheduled software work
10 → Emergency restart
11 → Power outage
12 → Software breakpoint
13 → Hardware failure
14 → Not scheduled up
/]
GETWHY:	OUTSTR [ASCIZ/
Why down?/]
	JSR GETNUM
	CAIL 5
	 CAILE 14
	  JRST GETWHY
	HRLM REASON
GETDAY:	OUTSTR [ASCIZ/Day (0→Monday, 6→Sunday)?/]
	JSR GETNUM
	JUMPL GETDAY
	CAILE 6
	 JRST GETDAY
	MOVE 2,
GTHOUR:	OUTSTR [ASCIZ/Hour?/]
	JSR GETNUM
	JUMPL GTHOUR
	CAILE 23.
	 JRST GTHOUR
	ADDI 8.				; PST to GMT
	MOVEI 1,261			; DAYLIT
	PEEK 1,
	PEEK 1,
	SKIPE 1
	 SOS				; daylight losing time
	CAIG 23.
	 JRST HRWIN
	SUBI 24.
	AOS 2
	CAIN 2,7
	 SETZ
HRWIN:	LSH 2,5
	ADD 2,
GETMIN:	OUTSTR [ASCIZ/Minute?/]
	JSR GETNUM
	JUMPL GETMIN
	CAILE 59.
	 JRST GETMIN
	IDIVI 5
	LSH 2,4
	ADD 2,
	HRRM 2,REASON
	MTAPE WHYDWN
	MTAPE [13 ? 'KILIMP]
	EXIT

GETNUM:	0
	SETZ
GETNM1:	INCHWL 1
	CAIL 1,"0
	 CAILE 1,"7
	  JRST [CLRBFI ? JRST @GETNUM]
	LSH 3
	ADDI -"0(1)
	JRST GETNM1

WHYDWN:	23
REASON:	0

END IMPDWN